package br.com.unip.menudroid;

import br.com.unip.menudroid.model.Dispositivo;
import br.com.unip.menudroid.util.Util;
import br.com.unip.menudroid.webservice.DispositivoRest;
import android.os.AsyncTask;
import android.os.Bundle;
import android.preference.PreferenceManager;
import android.app.Activity;
import android.content.Context;
import android.content.SharedPreferences;
import android.telephony.TelephonyManager;
import android.view.Menu;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;

public class CadastroDispositivo extends Activity {
	private Dispositivo dispositivo = new Dispositivo();
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.cadastro_dispositivo);
        
        final EditText txtNome = (EditText) findViewById(R.id.txtDispositivoDesc);
        final EditText txtEndereco = (EditText) findViewById(R.id.txtDispositivoEnd);
        final EditText txtBairro = (EditText) findViewById(R.id.txtDispositivoBairro);
        final EditText txtNumero = (EditText) findViewById(R.id.txtDispositivoNumero);
        final EditText txtReferencia = (EditText) findViewById(R.id.txtDispositivoRef);
        final EditText txtTelefone = (EditText) findViewById(R.id.txtDispositivoTel);
        final Button btnGravar = (Button) findViewById(R.id.btnDispositivoGravar);
        
        btnGravar.setOnClickListener(new View.OnClickListener() {
			public void onClick(View v) {
				InserirDispostivoTask inserirDispositivoTask = new InserirDispostivoTask();
				TelephonyManager telephonyManager = (TelephonyManager)getSystemService(Context.TELEPHONY_SERVICE);
				
				dispositivo.setDescricao(txtNome.getText().toString());
				dispositivo.setEndereco(txtEndereco.getText().toString());
				dispositivo.setBairro(txtBairro.getText().toString());
				dispositivo.setNumero(Integer.parseInt(txtNumero.getText().toString()));
				dispositivo.setReferencia(txtReferencia.getText().toString());
				dispositivo.setTelefone(txtTelefone.getText().toString());
				dispositivo.setIMEI(telephonyManager.getDeviceId());
				
				inserirDispositivoTask.execute();
				finish();
			}
		});
    }
    
	private class InserirDispostivoTask extends AsyncTask<Void, Void, Boolean> {
		private Exception erro;
		
		@Override
		protected Boolean doInBackground(Void... params) {
			SharedPreferences config = PreferenceManager.getDefaultSharedPreferences(getBaseContext());
			String Endereco_WS = config.getString("Endereco_WS","http://192.168.0.11:8080/menuDroidWeb/ws/");
			DispositivoRest dispRest = new DispositivoRest();
			
			try {
				dispRest.inserirDispositivo(Endereco_WS, dispositivo);
				return true;
			} catch (Exception e) {
				e.printStackTrace();
				erro = e;
				return false;
			}
		}
		
		@Override
		protected void onPostExecute(Boolean result) {
			if ((!result) && (erro != null)) {
				Util.gerarToast(getApplicationContext(), erro.getMessage());
			}
		}
	}

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        getMenuInflater().inflate(R.menu.cadastro_dispositivo, menu);
        return true;
    }
    
}
